/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package negocio;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;

/**
 *
 * @author diego
 */
@Entity
public class Ticket implements Serializable {
        
    @Id
    @Column(name="TICKET_ID")    
    private Integer id;
    
    //@ManyToOne(fetch=FetchType.LAZY)
    //@JoinColumn(name="FUNCION_ID")    
    //private Funcion unaFuncion;
    
    //@ManyToOne(fetch=FetchType.LAZY)
    //@JoinColumn(name="BUTACA_ID")    
    @OneToOne //ver    
    @JoinColumn(name="FUNCION_ID")
    private Funcion funcion;
        
    @OneToOne  
    @JoinColumn(name="BUTACA_ID")
    private Butaca butaca;
    
    
    @Basic
    private String nro;
    
    @Basic
    private Double precio;
    
    //@ManyToOne(fetch=FetchType.LAZY)
    //@JoinColumn(name="USUARIO_ID")
    @OneToOne //ver
    @JoinColumn(name="USUARIO_ID")
    private Usuario unUsuario;
    
    @ManyToOne
    @JoinColumn(name="TRANSACCIONVENTAS_ID")
    private TransaccionVentas transaccionVentas;

    public Ticket() {
    }

    public Ticket(Funcion unaFuncion, Butaca unaButaca, String nro, Double precio, Usuario unUsuario,TransaccionVentas transaccionVentas) {        
        this.funcion = unaFuncion;
        this.butaca = unaButaca;
        this.nro = nro;
        this.precio = precio;
        this.unUsuario = unUsuario;
        this.transaccionVentas = transaccionVentas;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Funcion getUnaFuncion() {
        return funcion;
    }
    public void setUnaFuncion(Funcion unaFuncion) {
        this.funcion = unaFuncion;
    }
    public Butaca getUnaButaca() {
        return butaca;
    }
    public void setUnaButaca(Butaca unaButaca) {
        this.butaca = unaButaca;
    }
    public String getNro() {
        return nro;
    }
    public void setNro(String nro) {
        this.nro = nro;
    }
    public Double getPrecio() {
        return precio;
    }
    public void setPrecio(Double precio) {
        this.precio = precio;
    }
    public Usuario getUnUsuario() {
        return unUsuario;
    }
    public void setUnUsuario(Usuario unUsuario) {
        this.unUsuario = unUsuario;
    }
    public TransaccionVentas getTransaccionVentas() {
        return transaccionVentas;
    }
    public void setTransaccionVentas(TransaccionVentas transaccionVentas) {
        this.transaccionVentas = transaccionVentas;
    }
    
}
